package file;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: YKH
 * Date: 2022-08-07
 * Time: 10:43
 */
//使用字节流读取文件
public class Demo06 {
    public static void main(String[] args) throws IOException {
        // 1. 打开文件
        InputStream inputStream = new FileInputStream("./test1.txt");

        // 2. 读取文件
//        // 使用无参数的read方法
//        while( true) {
//            int a = inputStream.read(); //每次读一个字节 , 每次返回一个整数(读到字符的ASCII码) ,读到EOF时返回-1
//            if( a == -1) {
//                break;
//            }
//            System.out.println(a); //打印的读到字符的ASCII码
//        }
        // 使用带一个参数的read方法
        byte []b = new byte[1024]; // 创建一个字节数组,作为read方法的参数
        int len = inputStream.read(b);   //会将文件中的内容读到b数组中,返回读取的字节数
        System.out.println(len);
        for(int i=0;i<len;i++) {
            System.out.println(b[i]);
        }
        //使用带三个参数的read方法 , 同上,只是将 读取到的内容放入b数组的指定位置
        inputStream.read( b, 2,3);

        //可将读取的 字节手动进行转换为字符
        String s = new String(b ,0,len,"UTF-8");
        System.out.println(s);

        // 3. 关闭文件
        inputStream.close();
    }

}
